Na linguagem Rust, a correspondência de padrões não é apenas uma ramificação do fluxo de controle—é realmente o arquitetura da vinculação. Cada vez que você declara uma variável ou define uma função, está realizando uma correspondência de padrões.
1. A Identidade da Vinculação
Quando escrevemos let x = 5;, não estamos apenas atribuindo um valor. Estamos correspondendo o valor 5 ao padrão padrão irrefutávelx. Como x é um nome que pode representar qualquer valor, a correspondência sempre tem sucesso e cria uma vinculação local.
2. Parâmetros com Padrões (Lista 18-6)
Talvez a percepção mais profunda seja que as assinaturas de funções são padrões. Na assinatura fn foo(x: i32), o código espera um i32 e usa o padrão x para vincular o argumento recebido. Isso significa que cada entrada em uma função é essencialmente um evento de correspondência com um único braço.
3. Universalidade dos Padrões
Os padrões vão além de match. Eles aparecem em for loops (desconstrução de tuplas), while let condicionais e até mesmo if let expressões. Essa Vinculação Local princípio garante que o código Rust seja consistentemente expressivo, quer você esteja extraíndo dados de uma estrutura ou iterando sobre um hashmap.